let moduleFactory = {};
function define(name, factory){
  moduleFactory[name] = factory;
}

function require(dependencies, callback) {
  callback(dependencies.map(item => moduleFactory[item]()));
}

define(function () {
  function add(a, b) {
    return a + b;
  }

  return {add}
});

define(function () {
  function minus(a, b) {
    return a - b;
  }

  return {minus}
});

require(['addModule', 'minusModule'], (addModule, minusModule) => {
  console.log(addModule.add(2, 2), minusModule.minus(2, 2));
});

/** 前端模块加载器并没有像后端node中fs.readFile一样的方法，那么它是怎么实现前端加载模块的？ 动态创建<script>发送请求(参考02MY_CMD)*/
